﻿
// SaveTimeAssistantDlg.h: 头文件
//

#pragma once
#include <string> 
using namespace std;

struct ComputerData {
	HWND m_hWnd;
	// 目标进程句柄
	HANDLE m_hProcess;
	// 目标进程ID
	DWORD m_dwProcessId;
	// 玩家昵称
	TCHAR Name[64];
};

// CSaveTimeAssistantDlg 对话框
class CSaveTimeAssistantDlg : public CDialogEx
{
// 构造
public:
	CSaveTimeAssistantDlg(CWnd* pParent = nullptr);	// 标准构造函数

	wchar_t *multiByteToWideChar( string &pKey)
	{
		const char* pCStrKey = pKey.c_str();
		//第一次调用返回转换后的字符串长度，用于确认为wchar_t*开辟多大的内存空间
		int pSize = MultiByteToWideChar(CP_OEMCP, 0, pCStrKey, strlen(pCStrKey) + 1, NULL, 0);
		wchar_t *pWCStrKey = new wchar_t[pSize];
		//第二次调用将单字节字符串转换成双字节字符串
		MultiByteToWideChar(CP_OEMCP, 0, pCStrKey, strlen(pCStrKey) + 1, pWCStrKey, pSize);
		return pWCStrKey;
	}


	HWND HWNDDoctor;//医生句柄
	HWND HWNDBeBloodfed;//被加血句柄
	long doctorAddbloodX, doctorAddbloodY;

	HANDLE gameProcessDoctor;//医生游戏进程


	HANDLE gameProcessBeBloodfed;//被加血游戏进程

	long beBloodfedInfoAddress;

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_SAVETIMEASSISTANT_DIALOG };
#endif

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedButtonDoctorStart();


	void KMeansSegment();

	void updateDoctorInfo();

	void FindBeBLOodAdressFast();

	afx_msg void OnBnClickedButtonStarttab();
	afx_msg void OnBnClickedButton2();
	afx_msg void OnBnClickedButtonFreelibrary();
	afx_msg void OnBnClickedButtonmeditation();
};
